/*
 *
 * Copyright (C) 2019 Zealcomm Inc. (https://www.zealcomm.com)
 *
*/
#ifndef IRTC_CONFERENCE_OBJC_IRTCCONFERENCECLIENTCONFIGURATION_H_
#define IRTC_CONFERENCE_OBJC_IRTCCONFERENCECLIENTCONFIGURATION_H_
#import <Foundation/Foundation.h>
#import <IRTC/IRTCClientConfiguration.h>
/// Configuration for creating a IRTCConferenceClient<br>用于创建IRTCConferenceClient的配置。
/**
  This configuration is used while creating IRTCConferenceClient. Changing this
  configuration does NOT impact IRTCConferenceClient already created.<br>这个配置用于创建IRTCConferenceClient。改变这个配置不会影响已经创建的IRTCConferenceClient。
*/
IRTC_OBJC_EXPORT
@interface IRTCConferenceClientConfiguration : IRTCClientConfiguration

- (instancetype)initWithIceServers:(NSArray<IRTCIceServer*>*)ice_servers candidateNetworkPolicy:(IRTCCandidateNetworkPolicy) candidate_network_policy;

/**
  @brief Forwarding marker to find route of corrent ZMS.<br>前转标记。
  @details When there are multiple zms deployments, using this forwarding
  marker via nginx server can ensure sdk find the same ZMS server as REST API
  server.<br>通过前转标记，sdk使用者可以 通过nginx转发服务器找到和REST
  API所在的同一个ZMS。
  */
@property(nonatomic, strong) NSString* forwardingMarker;
/**
  @brief Service path to find route of ZMS.<br>ZMS服务路径。
  @details When there are multiple services use socket.io, using this service
  path via nginx server can ensure sdk find the ZMS socket.io
  server.<br>通过服务路径，sdk使用者可以
  通过nginx转发服务器找到ZMS的socket.io服务。
  */
@property(nonatomic, strong) NSString* servicePath;
/**
  @brief Number of attempts to reconnect.<br>尝试重连的次数。
  */
@property(nonatomic, assign) NSInteger reconnectionAttempts;
/**
  @brief Delay time for the connection to be created by the
  retransmission.<br>重寻创建连接的延迟时长。
  */
@property(nonatomic, assign) NSUInteger reconnectionDelay;
/**
  @brief Maximum waiting time for reconnection.<br>最大的重连等待时间。
  */
@property(nonatomic, assign) NSUInteger reconnectionDelayMax;
@end
#endif // IRTC_CONFERENCE_OBJC_IRTCCONFERENCECLIENTCONFIGURATION_H_
